1. Field of the Invention
The present invention generally relates to finding items in electronic devices, and in particular, to systems and methods for automatically finding items related to an example item in handheld electronic devices, such as personal digital assistants (PDAs) and mobile devices.
2. Related Art
Handheld devices, in particular PDAs, are used widely to facilitate users in organizing business and personal appointments, contacts, to-do list items, memos, expense reports, etc. Recent palm-size PDAs are also equipped with document readers and mini-web browsers to display additional reading material on the PDAs. The document readers may, for example, be useful for reading books and mail. Mini-web browsers allow users of the PDAs with online connection capability to roam the Internet and extract information from the Internet. Other popular handheld devices include small personal organizers, palm-size computers, and combination phone/computer devices. Many of the handheld devices also have the ability to synchronize with a desktop computer, utilizing either a synchronizer connected to the desktop computer or some sort of wireless protocol.
Due to recent technology advances, available memory of a handheld device has increased, allowing numerous items to be stored on the handheld device. However, even with the increase in available memory, the handheld device is still considered to have limited storage capacity, especially in comparison with a personal computer. Unlike personal computers, most of the handheld devices are also considered to have limited processing power. This prohibits the handheld devices from performing complex operations in a timely manner, if at all. Since battery life is of concern to users of the handheld devices, it is not sensible to keep the handheld devices on for long computations and complex operations that drain up battery power.
Currently, most handheld devices, in particular PDAs, support a rudimentary xe2x80x9cfindxe2x80x9d utility, which looks for sub-string or keyword matches in the various items stored on the handheld. A PDA may, for example, provide a user interface for the xe2x80x9cfindxe2x80x9d utility. When a user chooses the xe2x80x9cfindxe2x80x9d utility, a message box appears to allow the user to enter a search string made up of characters and/or numbers. The PDA then takes the search string and compares it with strings in items stored on the PDA. Upon finding matching items containing a string or a sub-string matching the search string, the PDA displays the matching items in a list. The matching items may come from contacts, appointments, mail, to-do list items, etc. However, as the number of items stored on the PDA device and their content or size increase, the rudimentary xe2x80x9cfindxe2x80x9d utility of searching for sub-string or keyword matches becomes less attractive. It becomes useful to allow a query by example to be performed while the user is viewing a particular item, allowing items related to the particular item to be returned.
To find items related to an example item, or the item in question, using the rudimentary xe2x80x9cfindxe2x80x9d utility, a user would need to figure out characteristic keywords for either the example item or the related items before the search for the related items can start. Oftentimes, the user may not be able to determine characteristic keywords that correspond to either the example item or the related items in a timely fashion. When the incorrect characteristic keywords are used as the search string, the user is further delayed from finding the related items. On the other hand, the traditional method of doing a query by example is processor intensive because relationships between the example item and the related items need to be determined first. A bulk of the processing work is required to determine and verify relationships between items beyond keyword or sub-string matches. Because of the limited processing power of the PDA and other handheld devices, the traditional method of query by example cannot be implemented on a handheld device in a highly usable form. Moreover, the supporting structures and index for the traditional method of query by example is storage intensive, and would consume precious storage resources on the handheld devices. Therefore, there is a need for a system and method that go beyond sub-string or keyword matches for various items stored on a handheld device. The system and method would allow the automatic finding of items related to an example item(s) while taking into consideration the low processing power and limited storage capacity of handheld devices.